<!DOCTYPE html>  
<html lang="en">  
<head>  
  <meta charset="UTF-8">  
  <meta http-equiv="X-UA-Compatible" content="IE=edge">  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">  
  <title>数组更新检测</title>  
</head>  
<body>  
  <div id="app">  
    <ul>
      <li v-for="item in name">{{item}}</li> <!--item in name 可以改成 item of name 这里的in和of作用一致-->
      <button @click="changeArray">修改数组</button>
    </ul>
  </div>  

  <script src="../lib/vue.js"></script>  
  <script>  
    // 使用vue  
    const app = Vue.createApp({  
      data: function () {  
        return {  
          name: ["abc", "cba", "nba"]  
        };  
      },  
      methods: {  
        changeArray(){
          // 1. 直接修改为新的数组
          this.name = ["aaa", "bbb", "ccc", "ddd", "eee"]
          // 2. 通过数组方法修改元素
          // this.name.push("why")
          // this.name.pop()
          // 3. 按索引添加或删除元素
          // 从索引 2 开始删除 2 个元素
          this.name.splice(2, 2) // 得到["aaa", "bbb", "eee"]
          // 4. 不修改原数组的,不会更新,不能侦听(watch)
          const newArray = this.name.map(item => item + "---")
          // 除非再赋值回去
          // this.name = newArray
        }
      }  
    });  

    // 挂载   
    app.mount("#app");  
  </script>  

</body>  
</html>  